import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum';
import { CacheTypeEnum } from '/@/enums/cacheEnum';
import { ContentEnum, PermissionModeEnum, ThemeEnum, RouterTransitionEnum, SettingButtonPositionEnum, SessionTimeoutProcessingEnum, TabsThemeEnum, } from '/@/enums/appEnum';
import { SIDE_BAR_BG_COLOR_LIST, HEADER_PRESET_BG_COLOR_LIST } from './designSetting';
import { primaryColor } from '../../build/config/themeConfig';
// ! 改动后需要清空浏览器缓存
const setting = {
    // 是否显示SettingButton
    showSettingButton: true,
    // 是否显示主题切换按钮
    showDarkModeToggle: true,
    // 设置按钮位置 可选项
    // SettingButtonPositionEnum.AUTO: 自动选择
    // SettingButtonPositionEnum.HEADER: 位于头部
    // SettingButtonPositionEnum.FIXED: 固定在右侧
    settingButtonPosition: SettingButtonPositionEnum.AUTO,
    // 权限模式,默认前端角色权限模式
    // ROUTE_MAPPING: 前端模式（菜单由路由生成，默认）
    // ROLE：前端模式（菜单路由分开）
    // BACK：后台模式
    permissionMode: PermissionModeEnum.ROUTE_MAPPING,
    // 权限缓存存放位置。默认存放于localStorage
    permissionCacheType: CacheTypeEnum.LOCAL,
    // 会话超时处理方案
    // SessionTimeoutProcessingEnum.ROUTE_JUMP: 路由跳转到登录页
    // SessionTimeoutProcessingEnum.PAGE_COVERAGE: 生成登录弹窗，覆盖当前页面
    sessionTimeoutProcessing: SessionTimeoutProcessingEnum.ROUTE_JUMP,
    // 项目主题色
    themeColor: primaryColor,
    // 网站灰色模式，用于可能悼念的日期开启
    grayMode: false,
    // 色弱模式
    colorWeak: false,
    // 是否取消菜单,顶部,多标签页显示, 用于可能内嵌在别的系统内
    fullContent: false,
    // 主题内容宽度
    contentMode: ContentEnum.FULL,
    // 是否显示logo
    showLogo: true,
    // 是否显示底部信息 copyright
    showFooter: true,
    // 头部配置
    headerSetting: {
        // 背景色
        bgColor: HEADER_PRESET_BG_COLOR_LIST[0],
        // 固定头部
        fixed: true,
        // 是否显示顶部
        show: true,
        // 主题
        theme: ThemeEnum.LIGHT,
        // 开启锁屏功能
        useLockPage: true,
        // 显示全屏按钮
        showFullScreen: true,
        // 显示文档按钮
        showDoc: false,
        // 显示消息中心按钮
        showNotice: true,
        // 显示菜单搜索按钮
        showSearch: true,
    },
    // 菜单配置
    menuSetting: {
        // 背景色
        bgColor: SIDE_BAR_BG_COLOR_LIST[0],
        // 是否固定住左侧菜单
        fixed: true,
        // 菜单折叠
        collapsed: false,
        // 折叠菜单时候是否显示菜单名
        collapsedShowTitle: false,
        // 是否可拖拽
        // Only limited to the opening of the left menu, the mouse has a drag bar on the right side of the menu
        canDrag: false,
        // Whether to show no dom
        show: true,
        // Whether to show dom
        hidden: false,
        // 菜单宽度
        menuWidth: 210,
        // 菜单模式
        mode: MenuModeEnum.INLINE,
        // 菜单类型
        type: MenuTypeEnum.SIDEBAR,
        // 菜单主题
        theme: ThemeEnum.DARK,
        // 分割菜单
        split: false,
        // 顶部菜单布局
        topMenuAlign: 'center',
        // 折叠触发器的位置
        trigger: TriggerEnum.HEADER,
        // 手风琴模式，只展示一个菜单
        accordion: true,
        // 在路由切换的时候关闭左侧混合菜单展开菜单
        closeMixSidebarOnChange: false,
        // 左侧混合菜单模块切换触发方式 ‘click’ |'hover'
        mixSideTrigger: MixSidebarTriggerEnum.CLICK,
        // 是否固定左侧混合菜单
        mixSideFixed: false,
    },
    // 多标签
    multiTabsSetting: {
        // 刷新后是否保留已经打开的标签页
        cache: false,
        // 开启
        show: true,
        // 是否可以拖拽
        canDrag: true,
        // 开启快速操作
        showQuick: true,
        // 是否显示刷新按钮
        showRedo: true,
        // 是否显示折叠按钮
        showFold: true,
        // 标签页样式
        theme: TabsThemeEnum.CARD,
    },
    // 动画配置
    transitionSetting: {
        //  是否开启切换动画
        // The disabled state will also disable pageLoadinng
        enable: true,
        // 动画名 Route basic switching animation
        basicTransition: RouterTransitionEnum.FADE_SIDE,
        // 是否打开页面切换loading
        // Only open when enable=true
        openPageLoading: true,
        //是否打开页面切换顶部进度条
        openNProgress: true,
    },
    // 是否开启KeepAlive缓存  开发时候最好关闭,不然每次都需要清除缓存
    openKeepAlive: false,
    // 自动锁屏时间，为0不锁屏。 单位分钟 默认1个小时
    lockTime: 0,
    // 显示面包屑
    showBreadCrumb: false,
    // 显示面包屑图标
    showBreadCrumbIcon: true,
    // 是否使用全局错误捕获
    useErrorHandle: false,
    // 是否开启回到顶部
    useOpenBackTop: true,
    // 是否可以嵌入iframe页面
    canEmbedIFramePage: true,
    // 切换界面的时候是否删除未关闭的message及notify
    closeMessageOnSwitch: true,
    // 切换界面的时候是否取消已经发送但是未响应的http请求。
    // 如果开启,想对单独接口覆盖。可以在单独接口设置
    removeAllHttpPending: false,
};
export default setting;
